<?php
namespace Admin\Controller;
use Think\Controller;
/**
* admin
*/
class AdminController extends CommonController
{
	public function index()
	{
		$admin = M('auth_group_access');
		$list = $admin
				->field('xwcms_admin.id,xwcms_admin.username,xwcms_admin.name,xwcms_admin.email,xwcms_admin.reg_date,xwcms_admin.last_logdate,xwcms_admin.active,xwcms_auth_group.title')
				->join('RIGHT JOIN xwcms_admin ON xwcms_auth_group_access.uid = xwcms_admin.id')
				->join('LEFT JOIN xwcms_auth_group ON xwcms_auth_group_access.group_id = xwcms_auth_group.id')
				->select();
		$this->assign('list',$list);
		$this->display();
	}
	/**
	 * 添加管理员
	 */
	public function add()
	{
		if (IS_POST) {
			$id=I('post.group_id');
			if (empty($id)) {
				alertMes('请选择用户所属权限组');
			}
			$admin = D('Admin');
			$arr = $admin->create();
			if (!$arr){
				// 如果创建失败 表示验证没有通过 输出错误提示信息
				alertMes($admin->getError());
			}else{
				 // 验证通过 可以进行其他数据操作
				$arr['password'] = md5($arr['password'].$arr['key']);
				$res = $admin->add($arr);
				if ($res) {
					$auth_group_access = M('auth_group_access');
					$list['uid'] = $res;
					$list['group_id'] = I('post.group_id');
					$auth_group_access->add($list);
					alertMes('添加成功','/admin/admin/index');
				} else {
					alertMes('添加失败');
				}
			}
		} else {
			$auth_group = M('auth_group');
			$auth_group_list = $auth_group->where('status=1')->field('id,title')->select();
			$this->assign('auth_group_list',$auth_group_list);
			$this->display();
		}
	}
	//编辑管理员
	public function edit($id = null)
	{
		if (IS_POST) {
			$admin = D('Admin');
			if (!$admin->create()){
				// 如果创建失败 表示验证没有通过 输出错误提示信息
				alertMes($admin->getError());
			}else{
				// 验证通过 可以进行其他数据操作
				$arr = $admin->create();
				$arr['password'] = md5($arr['password'].$arr['key']);
				$res = $admin->save($arr);
				if ($res) {
					alertMes('编辑成功','/admin/admin/index');
				} else {
					alertMes('编辑失败');
				}
			}
		} else {
			if (!empty($id)) {
				$admin = M('admin');
				$data = $admin->getById($id);
				$this->assign('data',$data);
			} else {
				alertMes('请选择编辑用户','/admin/admin/index');
			}
			$this->display();
		}
	}
	//删除管理员
	public function delete($id = null)
	{
		if (!empty($id)) {
			$admin = M('admin');
			$res = $admin->where('id=' . $id)->delete();
			if ($res) {
				$auth_group_access = M('auth_group_access');
				$auth_group_access->where('uid=' . $id)->delete();
				alertMes('删除成功', '/admin/admin/index');
			} else {
				alertMes('删除失败', '/admin/admin/index');
			}
		} else {
			alertMes('用户不存在，无法删除', '/admin/admin/index');
		}
	}
}